(defun goodbye()(saveinitmem "/home/y/mylisp/mylisp.mem")(bye))
(defvar *func-list* nil)
(defvar *mac-list* nil)
(defvar *var-list* nil)
(defvar mymemo nil)
(defun disp-var() (print "自定义函数列表：")(print *func-list*)
		     (print "自定义宏列表：")  (print *mac-list*)
		     (print "自定义全局变量列表：")(print *var-list*))
(defun cl-var(s) (if (stringp s)
			(cond ((string= s "all") (progn (setf *func-list* nil)
							     (setf *mac-list* nil)
							     (setf *var-list* nil)))
				((string= s "func") (setf *func-list* nil))
				((string= s "mac")  (setf *mac-list* nil))
				((string= s "var")  (setf *var-list* nil)))
			))
(defmacro func(fun-name) `(progn (pprint (function ,fun-name))
                          (if (member ',fun-name *func-list*)
					(format t "~%函数[~a]已经被记录。~%"  ',fun-name)
					(push ',fun-name *func-list*))))
(defmacro mac(mac-name &body parms) `(progn (pprint (macroexpand '(,mac-name ,@parms)))
					    (if (member ',mac-name *mac-list*)
							(format t "~%宏[~a]已经被记录。~%" ',mac-name)
							(push ',mac-name *mac-list*))))
(defmacro  myset(var) `(progn (defvar ,var)
                       (if (member ',var *var-list*)
					(format t "~%变量[~a]已经被记录。~%" ',var)
					(push ',var *var-list*))))